import java.io.File;
import java.util.Scanner;



/**
 * 找到
 * @author 35326
 * @date 2021年2月11日
 * @time 下午5:39:57
 */
public class Find {
    public static void main(String[] args) {
        Scanner in =new java.util.Scanner(System.in);
        System.out.println("请输入根目录：");
        String string = new String();
        string=in.next();
        System.out.println("请输入被查找的文件名字：");
        String nameString = new String();
        nameString = in.next();
        findMyFile(string, nameString);

    }

    /**
     * 找到location文件夹中的 名字中包含name的文件
     * @param location
     * @param name
     */
    public static void findMyFile(String location,String name) {
        File treeFile = new File(location);
        File[] files = treeFile.listFiles();
        if(files==null) {
            System.out.println("none!");
            return;
        }
        for(int i =0;i<files.length;i++) {
            if(files[i].isDirectory()) {
                method(files[i], name);
            }
        }



    }

    /**
     * 循环找 f 的子文件夹中的name文件
     * @param f
     * @param name
     */
    private static void method(File f,String name) {
        if(f.isDirectory()) {
            if(f.getName().contains(name)) {
                System.out.println(f.getPath());
                return;
            }
            File[] files = f.listFiles();
            if(files!=null) {
                for(int i =0;i<files.length;i++) {
                    if(files[i].isDirectory()) {
                        method(files[i], name);
                    }
                }
            }
        }
    }
}
